/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controleur;

import com.opensymphony.xwork2.ActionSupport;
import java.util.List;
import java.util.Map;
import modele.Entreprise;
import modele.NewHibernateUtil;
import modele.Offre;
import org.apache.struts2.interceptor.SessionAware;
import org.hibernate.Session;

/**
 *
 * @author Aimee
 */
public class AjoutOffre extends ActionSupport implements SessionAware {

    public Map<String, Object> session;
    public Session hibernateSession;
    public String idEntreprise;
    public String titreOffre;
    String descriptionOffre;
    List<Offre> listeOffre;
    
    
    
    public String ajoutOffre() throws Exception{
        System.out.println("je suis la ");
        setHibernateSession(NewHibernateUtil.getSessionFactory().openSession());
        getHibernateSession().beginTransaction();
        Entreprise entreprise = (Entreprise) hibernateSession.createQuery("from Entreprise where idEntreprise =" + getIdEntreprise()).uniqueResult();
        Offre offre = new Offre();
        offre.setDescriptionOffre(descriptionOffre);
        offre.setTitreOffre(getTitreOffre());
        offre.setEntreprise(entreprise);
        
        getHibernateSession().save(offre);
        getHibernateSession().getTransaction().commit();

        listeOffre = hibernateSession.createQuery("select pers from Offre as pers where pers.entreprise.idEntreprise=" + getIdEntreprise()).list();
        session.put("listeOffre", listeOffre);
        return "ok";
    }
    
    
    
     /**
     * @return the session
     */
    public Map<String, Object> getSession() {
        return session;
    }

    /**
     * @param session the session to set
     */
    public void setSession(Map<String, Object> session) {
        this.session = session;
    }

    /**
     * @return the hibernateSession
     */
    public Session getHibernateSession() {
        return hibernateSession;
    }

    /**
     * @param hibernateSession the hibernateSession to set
     */
    public void setHibernateSession(Session hibernateSession) {
        this.hibernateSession = hibernateSession;
    }

    /**
     * @return the descriptionOffre
     */
    public String getDescriptionOffre() {
        return descriptionOffre;
    }

    /**
     * @param descriptionOffre the descriptionOffre to set
     */
    public void setDescriptionOffre(String descriptionOffre) {
        this.descriptionOffre = descriptionOffre;
    }

    /**
     * @return the listeOffre
     */
    public List<Offre> getListeOffre() {
        return listeOffre;
    }

    /**
     * @param listeOffre the listeOffre to set
     */
    public void setListeOffre(List<Offre> listeOffre) {
        this.listeOffre = listeOffre;
    }

    /**
     * @return the idEntreprise
     */
    public String getIdEntreprise() {
        return idEntreprise;
    }

    /**
     * @param idEntreprise the idEntreprise to set
     */
    public void setIdEntreprise(String idEntreprise) {
        this.idEntreprise = idEntreprise;
    }

    /**
     * @return the titreOffre
     */
    public String getTitreOffre() {
        return titreOffre;
    }

    /**
     * @param titreOffre the titreOffre to set
     */
    public void setTitreOffre(String titreOffre) {
        this.titreOffre = titreOffre;
    }

    
}
